In today's technological environment, it is common for people to interact with their computing devices—such as mobile telephones, laptops, tablet computers, personal digital assistants (PDAs) and the like—in ways other than using a keyboard and mouse. That is, gesture-based computing as a means for interacting with computer devices has begun to proliferate, ushering in a new era of user interface design. While the full realization of the potential of gesture-based computing remains several years away, its significance cannot be underestimated, especially for a new generation of computing device users accustomed to touching, tapping, swiping, jumping, and moving as a means of engaging with their computing devices.
With respect to swipe (or “fling”) gestures, they are widely considered to be a natural interaction for scrolling or paging through lists, pages or other, similar graphical user interface (GUI) elements. Recognizing air swipe—as opposed to touch—gestures and disambiguating intentional gestures from other motions is difficult. In a touch gesture system, these gestures are straight forward because the touch point defines an easily recognizable start and stop to the gesture. On the other hand, in an air gesture system, recognizing an air swipe and disambiguating it from other similar motions is more difficult. In particular, the computing system must disambiguate swipe gestures from the user's natural return/reset motions, while flexibly supporting a range of different (e.g., left, right, up, down, etc.) swipe motions. This is why existing approaches impose unnatural constraints on the user.
Given the foregoing, what are needed are systems, methods and computer program products for facilitating the recognition of user air swipe gestures while interacting with a computing system.